<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>02_常见的闭包</title>
</head>
<body>
<!-- 
1、将函数作为另一个函数的返回值

2、将函数作为实参传递给另一个函数调用

-->
<script>
// 1、将函数作为另一个函数的返回值
function fn1() {
    var a = 2
    function fn2() {
        a++
        console.log(a)
    }
    return fn2;
}

var f = fn1()
f() // 3
f() // 4

// 2、将函数作为实参传递给另一个函数调用
function showDelay(msg, time) {
    setTimeout(() => {
        alert(msg)
    }, time);
}

showDelay('JS', 2000)
</script>
</body>
</html>